import Fly from 'flyio/dist/npm/wx'
import API from './api.js'
const fly = new Fly()

//配置请求基地址
// //定义公共headers
// fly.config.headers={xx:5,bb:6,dd:7}
// //设置超时
// fly.config.timeout=10000;

// //设置请求基地址
fly.config.baseURL = 'http://localhost:8080'

//添加请求拦截器
fly.interceptors.request.use((request) => {
  var interfaceName=request.interfaceName;

  wx.showLoading({
    title: '加载中',
    mask: true
  })

  // request.headers["X-Tag"] = "flyio";
  // request.headers['content-type']= 'application/json';
  //设置请求头
  request.headers = {
    'X-Tag': 'flyio',
    'content-type': 'application/json'
  }

  //公共参数
  let authParams = {
    'categoryType': 'SaleGoodsType@sim',
    'streamNo': 'wx9b1ab6aba418d4e6',
    'reqSource': 'MALL_H5',
    'appid': 'string',
    'timestamp': new Date().getTime(),
    'sign': 'string'
  }

  //处理请求体
  request.body && Object.keys(request.body).forEach((val) => {
    if (request.body[val] === '') {
      delete request.body[val]
    }
  })
  request.body = {
    ...request.body,
    ...authParams
  }

  //开发环境 处理请求的基本路径 请求哪个服务器
  if (process.env.NODE_ENV === 'development') {
    var baseURLConfig = {}  //url  配置
    var baseURL = ''        //基础路径
    baseURLConfig = process.env.SERVER_CONFIG
    if (API.MOCK_METHOD[interfaceName]) {
      baseURL = baseURLConfig.localServer
    } else {
       baseURL = baseURLConfig.remoteServer
    }

    console.log(baseURL)


    request.baseURL = baseURL
  }
  delete request.interfaceName

  console.log(request)

  return request
})

//添加响应拦截器
fly.interceptors.response.use(
  (response) => {
    wx.hideLoading()
    return response.data//请求成功之后将返回值返回
  },
  (err) => {
    //请求出错，根据返回状态码判断出错原因  这块儿的统一处理暂时没有写
    console.log(err)
    wx.hideLoading()
    if (err) {
      return '请求失败'
    }
  }
)

export default fly

// this.$fly.request({
//   method:"post", //post/get 请求方式
//   url:"/mms/country/queryValidZoneListForMallHome",
//   body:{}
// }).then(res =>{
//   console.log(res)
// })
